package com.swiot.biz.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.swiot.common.annotation.Excel;
import com.swiot.common.core.domain.BaseEntity;

/**
 * 告警记录对象 biz_alert_record
 * 
 * @author kingdom
 * @date 2025-09-16
 */
public class AlertRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private String id;

    /** 公司ID */
    @Excel(name = "公司ID")
    private Long deptId;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String deptName;

    /** 模板ID */
    @Excel(name = "模板ID")
    private String templateId;

    /** 模板数据id */
    @Excel(name = "模板数据id")
    private String templateDataId;

    /** 模板名称 */
    @Excel(name = "模板名称")
    private String templateName;

    /** 报表日期 */
    @Excel(name = "报表日期")
    private String reportDate;

    /** 板块信息 */
    @Excel(name = "板块信息")
    private String segmentName;

    /** 规则ID */
    @Excel(name = "规则ID")
    private String ruleId;

    /** 告警Key */
    @Excel(name = "告警Key")
    private String alertKey;

    /** 告警中文名 */
    @Excel(name = "告警中文名")
    private String alertKeyName;

    /** 告警内容 */
    @Excel(name = "告警内容")
    private String alertContent;

    /** 告警时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "告警时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date alertTime;

    /** 告警级别 */
    @Excel(name = "告警级别")
    private Long alertLevel;

    /** 删除标志 */
    private String delFlag;

    /** 告警状态 */
    @Excel(name = "告警状态")
    private Long status;

    /** 处理人ID */
    @Excel(name = "处理人ID")
    private String handleUserId;

    /** 处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date handleTime;

    /** 处理内容 */
    @Excel(name = "处理内容")
    private String handleContent;

    /** 处理备注 */
    @Excel(name = "处理备注")
    private String handleRemark;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deletedTime;

    /** 创建人用户ID */
    private String createdById;

    /** 最后更新人用户ID */
    private String updatedById;

    /** 创建人 */
    private String createdBy;

    /** 最后更新人 */
    private String updatedBy;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setDeptName(String deptName) 
    {
        this.deptName = deptName;
    }

    public String getDeptName() 
    {
        return deptName;
    }
    public void setTemplateId(String templateId) 
    {
        this.templateId = templateId;
    }

    public String getTemplateId() 
    {
        return templateId;
    }
    public void setTemplateDataId(String templateDataId)
    {
        this.templateDataId = templateDataId;
    }

    public String getTemplateDataId()
    {
        return templateDataId;
    }
    public void setTemplateName(String templateName) 
    {
        this.templateName = templateName;
    }

    public String getTemplateName() 
    {
        return templateName;
    }
    public void setReportDate(String reportDate) 
    {
        this.reportDate = reportDate;
    }

    public String getReportDate() 
    {
        return reportDate;
    }
    public void setSegmentName(String segmentName) 
    {
        this.segmentName = segmentName;
    }

    public String getSegmentName() 
    {
        return segmentName;
    }
    public void setRuleId(String ruleId) 
    {
        this.ruleId = ruleId;
    }

    public String getRuleId() 
    {
        return ruleId;
    }
    public void setAlertKey(String alertKey) 
    {
        this.alertKey = alertKey;
    }

    public String getAlertKey() 
    {
        return alertKey;
    }
    public void setAlertKeyName(String alertKeyName) 
    {
        this.alertKeyName = alertKeyName;
    }

    public String getAlertKeyName() 
    {
        return alertKeyName;
    }
    public void setAlertContent(String alertContent) 
    {
        this.alertContent = alertContent;
    }

    public String getAlertContent() 
    {
        return alertContent;
    }
    public void setAlertTime(Date alertTime) 
    {
        this.alertTime = alertTime;
    }

    public Date getAlertTime() 
    {
        return alertTime;
    }
    public void setAlertLevel(Long alertLevel) 
    {
        this.alertLevel = alertLevel;
    }

    public Long getAlertLevel() 
    {
        return alertLevel;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setHandleUserId(String handleUserId) 
    {
        this.handleUserId = handleUserId;
    }

    public String getHandleUserId() 
    {
        return handleUserId;
    }
    public void setHandleTime(Date handleTime) 
    {
        this.handleTime = handleTime;
    }

    public Date getHandleTime() 
    {
        return handleTime;
    }
    public void setHandleContent(String handleContent) 
    {
        this.handleContent = handleContent;
    }

    public String getHandleContent() 
    {
        return handleContent;
    }
    public void setHandleRemark(String handleRemark) 
    {
        this.handleRemark = handleRemark;
    }

    public String getHandleRemark() 
    {
        return handleRemark;
    }
    public void setDeletedTime(Date deletedTime) 
    {
        this.deletedTime = deletedTime;
    }

    public Date getDeletedTime() 
    {
        return deletedTime;
    }
    public void setCreatedById(String createdById) 
    {
        this.createdById = createdById;
    }

    public String getCreatedById() 
    {
        return createdById;
    }
    public void setUpdatedById(String updatedById) 
    {
        this.updatedById = updatedById;
    }

    public String getUpdatedById() 
    {
        return updatedById;
    }
    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }
    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deptId", getDeptId())
            .append("deptName", getDeptName())
            .append("templateId", getTemplateId())
            .append("templateDataId", getTemplateDataId())
            .append("templateName", getTemplateName())
            .append("reportDate", getReportDate())
            .append("segmentName", getSegmentName())
            .append("ruleId", getRuleId())
            .append("alertKey", getAlertKey())
            .append("alertKeyName", getAlertKeyName())
            .append("alertContent", getAlertContent())
            .append("alertTime", getAlertTime())
            .append("alertLevel", getAlertLevel())
            .append("delFlag", getDelFlag())
            .append("status", getStatus())
            .append("handleUserId", getHandleUserId())
            .append("handleTime", getHandleTime())
            .append("handleContent", getHandleContent())
            .append("handleRemark", getHandleRemark())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("deletedTime", getDeletedTime())
            .append("createdById", getCreatedById())
            .append("updatedById", getUpdatedById())
            .append("createdBy", getCreatedBy())
            .append("updatedBy", getUpdatedBy())
            .toString();
    }
}
